import java.util.*;
import java.io.*;

public class test{
    // 蓝桥杯 抓娃娃(2023-国赛)
    // 前缀和优化:
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int m = in.nextInt();
        // 由题目能够提取到一个非常关键的信息:
        // max{r-l} <= min{R-L}
        // 这代表如果一条线段"被框住"了,则代表"这条线段的中点必定在框选范围内"
        // 因此我们只需要记录"被框选区间内,存在的线段中点个数"
        // 而"快速选取区间",就可以使用"前缀和"
        // 线段的中点
        int[] mid = new int[2000005];
        // 前缀和数组
        int[] sum = new int[2000005];
        for(int i = 0;i < n;i++){
            int l = in.nextInt();
            int r = in.nextInt();
            // 对应位置++,代表该点存在一个线段中点
            mid[(l + l + r + r) / 2]++;
        }
        sum[0] = mid[0];
        for(int i = 1;i <= 2000000;i++){
            sum[i] = sum[i - 1] + mid[i];
        }
        for(int i = 0;i < m;i++){
            int L = in.nextInt();
            int R = in.nextInt();
            int max = sum[R + R] - sum[L + L - 1];
            System.out.println(max);
        }
    }
    // 常规解法:20%
    public static void main1(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int m = in.nextInt();
        // 线段 [0]:l [1]:r
        int[][] arr1 = new int[n][2];
        // 区间 [0]:L [1]:R
        int[][] arr2 = new int[m][2];
        for(int i = 0;i < n;i++){
            arr1[i][0] = in.nextInt();
            arr1[i][1] = in.nextInt();
        }
        for(int i = 0;i < m;i++){
            arr2[i][0] = in.nextInt();
            arr2[i][1] = in.nextInt();
        }
        for(int i = 0;i < m;i++){
            int sum = 0;
            int L = arr2[i][0];
            int R = arr2[i][1];
            for(int j = 0;j < n;j++){
                int l = arr1[j][0];
                int r = arr1[j][1];
                if(L >= r || l >= R) continue;
                int n1 = r - l;
                n1 -= L <= l ? 0 : L - l;
                n1 -= R >= r ? 0 : r - R;
                if(n1 + n1 >= r - l){
                    sum++;
                }
            }
            System.out.println(sum);
        }
    }
    // 蓝桥杯 最小字符串(2024-国赛)
    public static void main2(String[] args) {
        Scanner in = new Scanner(System.in);
        // 长度为N的小写字母字符串
        int N = in.nextInt();
        // M个小写字母
        int M = in.nextInt();
        String s = in.next();
        StringBuilder sb = new StringBuilder(s);
        String str = in.next();
        // 记录小写字母的个数
        char[] smalls = str.toCharArray();
        int index = 0;
        for(int i = 0;i < M;i++){
            int len = sb.length();
            char c1 = smalls[i];
            boolean flg = false;
            for(int j = 0;j < len;j++){
                char c2 = sb.charAt(j);
                if(c2 > c1){
                    sb.insert(j,c1);
                    flg = true;
                    break;
                }
            }
            if(!flg){
                sb.append(c1);
            }
        }
        System.out.println(sb);
    }
}